class O(object):
    def __init__(self):
        print("O")


class A(O):
    def __init__(self):
        super().__init__()
        print("A")


class B(O):
    def __init__(self):
        super().__init__()
        print("B")


class C(O):
    def __init__(self):
        super().__init__()
        print("C")


class D(A, B):
    def __init__(self):
        super().__init__()
        print("D")


class E(B, C):
    def __init__(self):
        super().__init__()
        print("E")


class F(D, E):
    def __init__(self):
        super().__init__()
        print("F")


f = F()
# mro
# 主要用于在多继承时判断属性的路径
print(F.mro())
# C3
